unit Unit1;
//The Precision parameter specifies the precision of the given value.
//It should be 7 or less for values of type Single,
//15 or less for values of type Double, and 18 or less for values of type Extended.
//This example is failure. 


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Btnx_1: TButton;
    Btnx_2: TButton;
    procedure Btnx_1Click(Sender: TObject);
    procedure Btnx_2Click(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Btnx_1Click(Sender: TObject);
var
  DoubA:Double;
  DoubB:Double;
  DoubC:Double;
begin
  DoubA:=209.060000089059;
  DoubB:=20.407;

  DoubC:=DoubA*DoubB;

  ShowMessage(FloatToStrF(DoubC,ffNumber,18,2));
end;

procedure TForm1.Btnx_2Click(Sender: TObject);
var
  DoubA:Extended;
  DoubB:Extended;
  DoubC:Extended;

  DoubD:Extended;
  DoubE:Extended;
begin
  DoubA:=2056852122;
  DoubB:=0.405;
  DoubC:=DoubA+DoubB;

  DoubD:=2056852122.405;

  DoubE:=DoubC - DoubD;
  ShowMessage(FloatToStrF(DoubE,ffNumber,18,2));

end;

end.
